Previous Book Contents Book Index Next

Inside Macintosh: Programming With JManager /
Chapter 2 - JManager Reference / JManager Constants and Data Types
The Java Runtime Session


Session Callbacks Structure

When you create an instantiation of the Java runtime environment using the JMOpenSession function, you must pass a data structure that supplies callback information for that instantiation. The session callbacks data structure is defined by the JMSessionCallbacks data type.

struct JMSessionCallbacks {
   UInt32            fVersion;      /* set to kJMVersion */
   JMConsoleProcPtr  fStandardOutput;/* standard output */
   JMConsoleProcPtr  fStandardError;/* standard error */
   JMConsoleReadProcPtr fStandardIn;/* standard input */
   JMExitProcPtr     fExitProc;     /* handle System.exit */ 
   JMAuthenticateURLProcPtrfAuthenticateProc;/* for authentication */
   JMLowMemoryProcPtrfLowMemProc;   /* low memory warning */
};
Field Description
fVersion
The version of JManager. You should set this field to kJMVersion.
fStandardOutput
A pointer to a function that handles text sent to the standard output. JManager sends all console output to this function. This callback has the following type definition:
               typedef void (*JMConsoleProcPtr) (
                  JMSessionRef session, const char* message, 
                  UInt32 messageLen);
For more information, see the description of the application-defined function MyStandardOutput.
Note that all text sent to this function will be encoded using the text encoding you specified when calling JMOpenSession.
fStandardError
A pointer to a function that handles standard error output. JManager sends any error messages to this function. This callback has the following type definition:
               typedef void (*JMConsoleProcPtr) (
                  JMSessionRef session, const char* message,
                  UInt32 messageLen);
For more information, see the description of the application-defined function MyStandardError.
Note that all text sent to this function will be encoded using the text encoding you specified when calling JMOpenSession.
fStandardIn
A pointer to a function that handles console input. JManager accepts input from this routine. This value can be a null pointer, which indicates default behavior (no console input). This callback has the following type definition:
               typedef SInt32 (*JMConsoleReadProcPtr) (
                  JMSessionRef session, char* buffer, 
                  SInt32 maxBufferLength);
For more information, see the description of the application-defined function MyStandardIn.
fExitProc
A pointer to a function that handles calls to java.lang.System.exit (that is, requests to quit). This callback has the following type definition:
               typedef Boolean (*JMExitProcPtr) (
                  JMSessionRef session, int value);
For more information, see the description of the application-defined function MyExit.
fAuthenticateProc
A pointer to a function that handles user authentication requests (such as a request for a password) for a URL. This callback has the following type definition:
               typedef Boolean (*JMAuthenticateURLProcPtr) (
                  JMSessionRef session, const char* url, 
                  const char* realm, char userName[255], 
                  char password[255]);
For more information, see the description of the application-defined function MyAuthenticate.
fLowMemProc
A pointer to a function that handles low-memory conditions. This callback has the following type definition:
               typedef Boolean (*JMLowMemoryProcPtr) (
                  JMSessionRef session);
For more information, see the description of the application-defined function MyLowMem.

Previous Book Contents Book Index Next

© Apple Computer, Inc.
10 DEC 1997